package com.linkhub.oms.data.sync.api.wms.domain.dto;

import lombok.Data;

import java.io.Serializable;
import java.util.List;

/**
 * @author Jaycle
 * @version 1.0.0
 * @description 入库单批量创建
 * @date 2024/06/14日 12:38
 */
@Data
public class WmsEntryOrderBatchCreateDTO implements Serializable {
    /**
     * 入库单号
     */
    private String entryOrderCode;

    /**
     * 外部业务代码  消息ID,  用于去重, 因为网络等原因导致重复传输, 请求不会被重复处理
     */
    private String outBizCode;

    /**
     * 货主代码
     */
    private String ownerCode;
    /**
     * 仓库代码
     */
    private String warehouseCode;

    /**
     * 入库单类型，必填，提货时固定为CGRK，物流退货，固定为：WLTH（物流退货）
     */
    private String orderType;

    /**
     * 预期到货时间，对应预计提货时间
     */
    private String expectStartTime;

    /**
     * 物流公司名称，对应物流公司
     */
    private String logisticsName;

    /**
     * 运单号，对应物流单号
     */
    private String expressCode;

    /**
     * 供应商编码，对应供应商ID
     */
    private String supplierCode;

    /**
     * 供应商名称，对应供应商名称
     */
    private String supplierName;

    /**
     * 多货主模式下必填，为虚拟货主
     */
    private String userDefined1;

    /**
     * 入库产品信息
     */
    private List<ProductParam> productInfo;

    @Data
    public static class ProductParam {
        /**
         * 仓储系统商品ID
         */
        private String itemId;

        /**
         * ERP产品ID
         */
        private String itemCode;

        /**
         * 产品数量
         */
        private String planQty;
    }
}